1. Technical Field
This application generally relates to distributed techniques, and more particularly to techniques used with information reporting in a distributed environment.
2. Description of Related Art
Computer systems may include different resources used by one or more host processors. Resources and host processors in a computer system may be interconnected by one or more communication connections. These resources may include, for example, data storage devices such as those included in the data storage systems manufactured by EMC Corporation. These data storage systems may be coupled to one or more servers or host processors and provide storage services to each host processor. Multiple data storage systems from one or more different vendors may be connected and may provide common data storage for one or more host processors in a computer system.
A host processor may perform a variety of data processing tasks and operations using the data storage system. For example, a host processor may perform basic system I/O operations in connection with data requests, such as data read and write operations.
Host processor systems may store and retrieve data using a storage device containing a plurality of host interface units, disk drives, and disk interface units. The host systems access the storage device through a plurality of channels provided therewith. Host systems provide data and access control information through the channels to the storage device and the storage device provides data to the host systems also through the channels. The host systems do not address the disk drives of the storage device directly, but rather, access what appears to the host systems as a plurality of logical disk units. The logical disk units may or may not correspond to the actual disk drives. Allowing multiple host systems to access the single storage device unit allows the host systems to share data in the device. In order to facilitate sharing of the data on the device, additional software on the data storage systems may also be used.
Different tasks may be performed in connection with a data storage system. For example, management tasks may be performed in connection with one or more data storage systems. A management console or station may be used to monitor the data storage systems. The management console may be provided with updates or changes regarding the data storage systems, such as the occurrence of events. One existing technique used in connection with providing the updates to the management console system may include a data storage system reporting updates to the management console at regular periodic intervals. Certain information may be immediately reported to the management console based on its importance or severity rather than wait for the occurrence of a reporting interval.
The foregoing technique may have existing drawbacks. The reporting by each data storage system at each interval may consume an unacceptable amount of system bandwidth and other data storage system resources. The number of incoming messages to be processed by the single collection point, the management console, increases with the number of data storage systems and may eventually saturate or “flood” the management console and associated connection used for reporting. Additionally, reporting at periodic intervals means that any such reported information takes at least until the next interval to be communicated to the management console. Further, more time elapses before the management console completes processing the reports once they have been received. As a result, the total time which elapses between the occurrence of an event until that event is eventually received by a system manager at the management console may not be an acceptable amount of time. The management console may be displaying, for example, stale or outdated information or may be informed about an event within an unacceptable amount of time.
Rather than report information directly to the management console, another existing technique may utilize a publication/subscription service. In this technique, information is reported by the data storage systems to a server hosting the publication/subscription service. The server hosting the service polls the data storage systems for information at predetermined time intervals. The management console may register as a subscriber to be notified regarding events or other items of interest. Subsequently, the service sends the appropriate information to the management console as reported by the data storage systems. One drawback of the foregoing is that there is still a single point at which all data is collected and through which all notification are sent to subscribers. This may create a bottleneck in connection with a large amount of incoming reported data. The use of a single central point and server may not be scaleable in that there may not be sufficient network bandwidth or computer processing capabilities available as the number of data storage systems, devices, and/or reported information increases. For example, the number of incoming messages reporting information increases with the number of data storage systems and may eventually saturate or “flood” the server and associated network used for reporting. Additionally, there needs to be some provision in the foregoing in the event the central single point experiences a failure.
Thus, it may be desirable to have an efficient technique for reporting events and updates regarding one or more data storage systems in a timely manner. It may be desirable that the technique be scalable for use with a varying number of data storage devices and events occurring therein.